最后编辑于: 2024-01-21 10:27 | 分类: FPGA | 标签: JTAG | 浏览数: 558 | 评论数: 0
又一篇2011年原创总结的文章, 可能文中技术已落伍, 大家有兴趣姑且看着. 毕竟过了10多年了, quartus软件也升级了, Altera也已被intel收购了.
以前不大注意, Altera 在quartus里还是提供了很多在线调试的方法,
在Quartus II Version 7.2 Handbook Volume 3: Verification中的Section V. In-System Design Debugging
里
分5章介绍了5种方法:
信号探针方式不影响原有的设计功能和布局布线,
只是通过增加额外布线将需要观察调试的信号连接到预先保留或者暂时不使用的I/O接口。
信号电平会随布线有一定的延时,不适合于高速、大容量信号观察调试,也不适合做板级时序分析。
它的优势在于不影响原有设计,额外资源消耗几乎为零,
调试中也不需要保持连接JTAG等其他线缆,
能够最小化编译或是重编译的时间。
在线逻辑分析仪很大程度上可以替代昂贵的逻辑分析仪,为开发节约成本;
同时也为调试者省去了原本繁琐的连线工作,而有些板级连接的外部设备很能观察到的信号都能够被轻松的捕获。
如果对设计进行模块的区域约束,也能够最小化使用在线逻辑分析仪对设计带来的影响。
在线逻辑分析仪的采样存储深度和宽度都在一定程度上受制于FPGA器件资源的大小。
使用该方式必须通过JTAG接口,
它的采样频率可以达到200MHz(若器件支持)以上,而不用像外部调试设备一样担心信号完整性问题。
逻辑分析仪接口针对于外部逻辑分析仪的。
调试者可以设置FPGA器件内部多个信号映射到一个预先保留或者暂时不使用的I/O接口上,
从而通过较少的I/O接口就能够观察FPGA内部的多组信号。
在线存储内容编辑是针对设计中例化的内嵌存储器内容或常量的调试。
可以通过这种方式在线重写或者读出工程中的内嵌存储器内容或常量。
对于某些应用可以通过在线更改存储器内容后观察响应来验证设计,也可以在不同激励下在线读取当前存储内容来验证设计。
这种方式是通过例化一个定制的寄存器链到FPGA器件内部。
这些寄存器链通过JTAG接口与Quartus II通信,
它又能够驱动FPGA器件内部的某些输入节点信号,采样某些输出节点信号。
这就使得调试者不用借助外部设备就能够给FPGA添加激励并观察响应。
在这里方便的观察FPGA内的寄存器的变化,甚至是可以实时的观察其变化,
基本上用起来和外部接一个示波器或逻辑分析仪没有区别了。
用起来相当的方便,只是一个简单例化连接映射,重新编译后就可以使用了。
除了这5种, 还有另外一个利器,那就是